package com.dingwen.treasure.influxdb.service;

import com.influxdb.query.FluxTable;

import java.util.List;

/**
 * 基础influx服务
 *
 * @author dingwen
 * @date 2023/01/09
 */
public interface BaseInlfuxdbService<T> {
    String DATA_PLATFORM_DATA_BUCKET = "treasure_data";

    /**
     * 同步写入
     *
     * @param t 物联网数据
     */
    void save(T t);

    /**
     * 异步写入
     *
     * @param t 物联网数据
     */
    void asyncSave(T t);

    /**
     * 查询序列
     *
     * @param fluxScript flux查询脚本
     * @return {@link List}<{@link FluxTable}> 多个序列
     */
    List<FluxTable> querySerial(String fluxScript);

    /**
     * 桶
     *
     * @return {@link String}
     */
    String getBucket();
}
